#!/usr/bin/env python3
# -*- coding: utf-8 -*-
"""
时间计算器 - 现代化桌面应用
主程序入口文件
"""

import sys
import os
from PyQt5.QtWidgets import QApplication
from PyQt5.QtCore import Qt
from PyQt5.QtGui import QFont, QIcon

# 添加项目路径到系统路径
current_dir = os.path.dirname(os.path.abspath(__file__))
sys.path.insert(0, current_dir)

# 处理打包后的路径问题
if getattr(sys, 'frozen', False):
    # 打包后的exe环境
    application_path = os.path.dirname(sys.executable)
    # 添加内部资源路径
    sys.path.insert(0, os.path.join(application_path, '_internal'))
    sys.path.insert(0, os.path.join(application_path, '_internal', 'src'))
else:
    # 开发环境
    sys.path.insert(0, current_dir)

from ui.main_window import MainWindow


def setup_application():
    """设置应用程序的基本属性"""
    # 创建应用程序实例
    app = QApplication(sys.argv)
    
    # 设置应用程序信息
    app.setApplicationName("时间计算器")
    app.setApplicationVersion("1.0.0")
    app.setOrganizationName("时间计算器开发团队")
    
    # 设置高DPI支持
    app.setAttribute(Qt.AA_EnableHighDpiScaling, True)
    app.setAttribute(Qt.AA_UseHighDpiPixmaps, True)
    
    # 设置默认字体
    font = QFont("Microsoft YaHei", 9)
    app.setFont(font)
    
    return app


def main():
    """主函数"""
    try:
        # 创建应用程序
        app = setup_application()
        
        # 创建主窗口
        main_window = MainWindow()
        main_window.show()
        
        # 运行应用程序
        sys.exit(app.exec_())
        
    except Exception as e:
        print(f"程序启动失败: {e}")
        sys.exit(1)


if __name__ == "__main__":
    main()
